import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { SharedModule } from "../../shared/shared.module";
import { AdminRoutingModule } from './admin-routing.module';
import { AdminComponent } from './admin.component';
import { RoleComponent } from "./role/role.component";
import { UserComponent } from "./user/user.component";
import { MenuComponent } from './menu/menu.component';
import { MenuListComponent } from './menu/menu-list/menu-list.component';
import { MenuEditComponent } from './menu/menu-edit/menu-edit.component';
import {
  DropdownModule,
  TreeTableModule,
  TreeModule,
  SharedModule as PrimengSharedModule
} from 'primeng/primeng';

import { MenuService } from "../../service/menu.service";
import { MenuParamListComponent } from "./menu/menu-param-list/menu-param-list.component";
import { MenuParamEditComponent } from "./menu/menu-param-edit/menu-param-edit.component";
import { MenuParamService } from "../../service/menu_param.service";
import { RoleListComponent } from './role/role-list/role-list.component';
import { RoleEditComponent } from './role/role-edit/role-edit.component';
import { RoleService } from "../../service/role.service";
import { MenuAccessService } from "../../service/menu_access.service";
import { MenuShortcutService } from "../../service/menu_shortcut.service";
import { PermissionService } from "../../service/permission.service";
import { RolePermissionService } from "../../service/role-permission.service";

import { MenuAccessEditComponent } from './role/menu-access/menu-access-edit/menu-access-edit.component';
import { MenuAccessListComponent } from "./role/menu-access/menu-access-list/menu-access-list.component";
import { RolePermissionListComponent } from "./role/role-permission/role-permission-list/role-permission-list.component";
import { RolePermissionEditComponent } from "./role/role-permission/role-permission-edit/role-permission-edit.component";
import { RolePermissionComponent } from "./role/role-permission/role-permission.component";
import { MenuAccessComponent } from './role/menu-access/menu-access.component';
import { MenuShortcutComponent } from './role/menu-shortcut/menu-shortcut.component';
import { MenuShortcutListComponent } from './role/menu-shortcut/menu-shortcut-list/menu-shortcut-list.component';
import { MenuShortcutEditComponent } from './role/menu-shortcut/menu-shortcut-edit/menu-shortcut-edit.component';

@NgModule({
  imports: [
    CommonModule,
    AdminRoutingModule,
    SharedModule,
    FormsModule,
    ReactiveFormsModule,
    DropdownModule,
    TreeTableModule,
    TreeModule,
    PrimengSharedModule
  ],
  declarations: [
    AdminComponent,
    RoleComponent,
    UserComponent,
    AdminComponent,
    MenuComponent,
    MenuListComponent,
    MenuEditComponent,
    MenuParamListComponent,
    MenuParamEditComponent,
    RoleListComponent,
    RoleEditComponent,
    MenuAccessListComponent,
    MenuAccessEditComponent,
    RolePermissionListComponent,
    RolePermissionEditComponent,
    RolePermissionComponent,
    MenuAccessComponent,
    MenuShortcutComponent,
    MenuShortcutListComponent,
    MenuShortcutEditComponent],
  entryComponents: [
    MenuListComponent,
    MenuEditComponent,
    MenuParamListComponent,
    MenuParamEditComponent,
    RoleListComponent,
    RoleEditComponent,
    MenuAccessListComponent,
    MenuAccessEditComponent,
    RolePermissionListComponent,
    RolePermissionEditComponent,
    MenuShortcutListComponent,
    MenuShortcutEditComponent,
  ],
  providers: [
    MenuService,
    MenuParamService,
    RoleService,
    MenuAccessService,
    MenuShortcutService,
    PermissionService,
    RolePermissionService,
  ]
})
export class AdminModule { }



// WEBPACK FOOTER //
// ./src/app/module/admin/admin.module.ts